Numeral systems by culture | |
---|---|
Hindu-Arabic numerals | |
Western Arabic (Hindu numerals) Eastern Arabic Indian family Tamil |
Burmese Khmer Lao Mongolian Thai |
East Asian numerals | |
Chinese Japanese Suzhou |
Korean Vietnamese Counting rods |
Alphabetic numerals | |
Abjad Armenian Āryabhaṭa Cyrillic |
Ge'ez Greek Georgian Hebrew |
Other systems | |
Aegean Attic Babylonian Brahmi Egyptian Etruscan Inuit |
Kharosthi Mayan Quipu Roman Sumerian Urnfield |
List of numeral system topics | |
Positional systems by base | |
Decimal (10) | |
2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 20, 24, 30, 36, 60, 64 | |
Non-positional system | |
Unary numeral system (Base 1) | |
List of numeral systems | |
The unary numeral system is the bijective base-1 numeral system. It is the simplest numeral system to represent natural numbers: in order to represent a number N, an arbitrarily chosen symbol representing 1 is repeated N times. For example, using the symbol | (a tally mark), the number 6 is represented as ||||||. The standard method of counting on one's fingers is effectively a unary system. Unary is most useful in counting or tallying ongoing results, such as the score in a game of sports, since no intermediate results need to be erased or discarded.
Contents |
Marks are typically clustered in groups of five for legibility. This is similar to the practice of using digit group separators such as spaces or commas in the decimal system, to make large numbers such as 100,000,000 easier to read. The first or fifth mark in each group may be written at an angle to the others for easier distinction. In the fourth example depicted at left, the fifth stroke "closes out" a group of five, and is sometimes nicknamed the "herringbone" method of counting. In Brazil but also France, a variation of this system is commonly used: Similar to the "herringbone" method, four marks are arranged to form a square, with the fifth mark crossing the square diagonally instead of arranging "sticks" in linear fashion.
Another example of a unary counting system clustered in counts of five is the Chinese, Japanese and Korean custom of writing the Chinese character, Korean Hanja character, or Japanese kanji character 正 which takes 5 strokes to write, one stroke each time something is added.
Addition and subtraction are particularly simple in the unary system, as they involve little more than string concatenation. Multiplication and division are more cumbersome, however.
There is no explicit symbol representing zero in unary as there is in other traditional bases, so unary is a bijective numeration system with a single digit. If there were a 'zero' symbol, unary would effectively be a binary system. In a true unary system there is no way to explicitly represent none of something, though simply making no marks represents it implicitly. Even in advanced tallying systems like Roman numerals there is no zero character, instead the Latin word for 'nothing,' nullae, is used.
For a real example of the unary system in ancient mathematics, see the Moscow Mathematical Papyrus, dating from circa 1800 BC.
Unary is used as part of some data compression algorithms; see Golomb coding for an example. Compared to standard positional numeral systems, the unary system is inconvenient and is not used in practice for large calculations. It occurs in some decision problem descriptions in theoretical computer science (e.g. some P-complete problems), where it is used to "artificially" decrease the run-time or space requirements of a problem. For instance, the problem of integer factorization is suspected to require more than a polynomial function of the length of the input as run-time if the input is given in binary, but it only needs linear runtime if the input is presented in unary. But this is potentially misleading: using a unary input is slower for any given number, not faster; the distinction is that a binary (or larger base) input is proportional to the base 2 (or larger base) logarithm of the number while unary input is proportional to the number itself; so while the run-time and space requirement in unary looks better as function of the input size, it is a worse function of the number that the input represents.